package com.linkage.jz.bankruptcy.bean.Vote;

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.linkage.jz.bankruptcy.bean.TaskAtta;
import com.linkage.seapeak.pojo.VoteGroup;

import java.io.Serializable;
import java.util.List;

public class ProVoteDetail implements Serializable {




    /**
     * id : 999275e79ae1499fba30a83504c392ac
     * bankruptcyProjectId : deae08bed33843ed95abdfb274e80648
     * type : 1
     * ruleId : 282614de33b0450fb79d64784ff571a4
     * title : ……
     * content : ……
     * rule : 2
     * ruleName : 重整分组
     * moneyPercent : 66.66
     * personnelPercent : 50.0
     * defaultAgreed : true
     * ruleExplain : 请您仔细查阅公告的表决事项详情，您可在通知的时间内提前确定是否参会，并在表决开始后行使表决权，或于表决开始后直接参会表决。本表决事项适用《中华人民共和国企业破产法》第八十四条第二款，“出席会议的同一表决组的债权人过半数同意重整计划草案，并且其所代表的债权额占该组债权总额的三分之二以上的，即为该组通过重整计划草案。”第八十六条第一款，“第八十六条 各表决组均通过重整计划草案时，重整计划即为通过。”
     * startTime : 1557572280
     * endTime : 1557831480
     * memberTotal : 0
     * timeMode : 1
     * notificationTime : 1557410280
     * courtHolding : true
     * courtHoldingResult : null
     * presetTime : 5
     * sginTime : 1557554280
     * status : 1
     * cancel : null
     * version : 1
     * noticeSms : true
     * noticeOfflineSms : false
     * noticeMessage : true
     * genMeetingNo : false
     * committeeVisible : false
     * files : null
     * groups : null
     * resultFiles : null
     * participants : null
     * projectName : null
     * managerMobile : null
     * opBy :
     * opAt : 1557399578
     * delFlag : false
     */


    private Boolean canNotice;
    private String id; // 表决项id
    private String bankruptcyProjectId;
    private int type; // 表决类型
    private String ruleId;
    private String title; // 标题
    private String content;
    private int rule;
    private String ruleName;
    private double moneyPercent;
    private double personnelPercent;
    private boolean defaultAgreed;
    private String ruleExplain;
    private long startTime;
    private long endTime;
    private int memberTotal;
    private int timeMode;
    private long notificationTime;
    private String resultId;  // 表决结果id
    private  int resultStatus; // 0未发布 1 已发布
    private boolean courtHolding; // 表决结果是否需要法院裁定
    private int courtHoldingResult; // 法院裁定结果
    private int presetTime;
    private int sginTime;
    private int status; // 表决状态
    private String cancel;
    private int version;
    private boolean noticeSms;
    private boolean noticeOfflineSms;
    private boolean noticeMessage;
    private boolean genMeetingNo;
    private boolean committeeVisible;
    private List<TaskAtta> files;
    private List<VoteGroup> groups;
    private List<TaskAtta> resultFiles;
    private Object participants;
    private Object projectName;
    private Object managerMobile;
    private String opBy;
    private int opAt;
    private boolean delFlag;
    private boolean grouped; // 是否分组表决

    public String getId() {
        return id;
    }

    public Boolean getCanNotice() {
        return canNotice;
    }

    public void setCanNotice(Boolean canNotice) {
        this.canNotice = canNotice;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBankruptcyProjectId() {
        return bankruptcyProjectId;
    }

    public void setBankruptcyProjectId(String bankruptcyProjectId) {
        this.bankruptcyProjectId = bankruptcyProjectId;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getRuleId() {
        return ruleId;
    }

    public void setRuleId(String ruleId) {
        this.ruleId = ruleId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public int getRule() {
        return rule;
    }

    public void setRule(int rule) {
        this.rule = rule;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public double getMoneyPercent() {
        return moneyPercent;
    }

    public void setMoneyPercent(double moneyPercent) {
        this.moneyPercent = moneyPercent;
    }

    public double getPersonnelPercent() {
        return personnelPercent;
    }

    public void setPersonnelPercent(double personnelPercent) {
        this.personnelPercent = personnelPercent;
    }

    public boolean isDefaultAgreed() {
        return defaultAgreed;
    }

    public void setDefaultAgreed(boolean defaultAgreed) {
        this.defaultAgreed = defaultAgreed;
    }

    public String getRuleExplain() {
        return ruleExplain;
    }

    public void setRuleExplain(String ruleExplain) {
        this.ruleExplain = ruleExplain;
    }

    public long getStartTime() {
        return startTime;
    }

    public void setStartTime(long startTime) {
        this.startTime = startTime;
    }

    public long getEndTime() {
        return endTime;
    }

    public void setEndTime(long endTime) {
        this.endTime = endTime;
    }

    public int getMemberTotal() {
        return memberTotal;
    }

    public void setMemberTotal(int memberTotal) {
        this.memberTotal = memberTotal;
    }

    public int getTimeMode() {
        return timeMode;
    }

    public void setTimeMode(int timeMode) {
        this.timeMode = timeMode;
    }

    public long getNotificationTime() {
        return notificationTime;
    }

    public void setNotificationTime(long notificationTime) {
        this.notificationTime = notificationTime;
    }

    public boolean isCourtHolding() {
        return courtHolding;
    }

    public void setCourtHolding(boolean courtHolding) {
        this.courtHolding = courtHolding;
    }

    public int getCourtHoldingResult() {
        return courtHoldingResult;
    }

    public void setCourtHoldingResult(int courtHoldingResult) {
        this.courtHoldingResult = courtHoldingResult;
    }

    public int getPresetTime() {
        return presetTime;
    }

    public void setPresetTime(int presetTime) {
        this.presetTime = presetTime;
    }

    public int getSginTime() {
        return sginTime;
    }

    public void setSginTime(int sginTime) {
        this.sginTime = sginTime;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getCancel() {
        return cancel;
    }

    public void setCancel(String cancel) {
        this.cancel = cancel;
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public boolean isNoticeSms() {
        return noticeSms;
    }

    public void setNoticeSms(boolean noticeSms) {
        this.noticeSms = noticeSms;
    }

    public boolean isNoticeOfflineSms() {
        return noticeOfflineSms;
    }

    public void setNoticeOfflineSms(boolean noticeOfflineSms) {
        this.noticeOfflineSms = noticeOfflineSms;
    }

    public boolean isNoticeMessage() {
        return noticeMessage;
    }

    public void setNoticeMessage(boolean noticeMessage) {
        this.noticeMessage = noticeMessage;
    }

    public boolean isGenMeetingNo() {
        return genMeetingNo;
    }

    public void setGenMeetingNo(boolean genMeetingNo) {
        this.genMeetingNo = genMeetingNo;
    }

    public boolean isCommitteeVisible() {
        return committeeVisible;
    }

    public void setCommitteeVisible(boolean committeeVisible) {
        this.committeeVisible = committeeVisible;
    }

    public List<TaskAtta>  getFiles() {
        return files;
    }

    public void setFiles(List<TaskAtta>  files) {
        this.files = files;
    }

    public List<VoteGroup> getGroups() {
        return groups;
    }

    public void setGroups(List<VoteGroup> groups) {
        this.groups = groups;
    }

    public List<TaskAtta> getResultFiles() {
        return resultFiles;
    }

    public void setResultFiles(List<TaskAtta> resultFiles) {
        this.resultFiles = resultFiles;
    }

    public Object getParticipants() {
        return participants;
    }

    public void setParticipants(Object participants) {
        this.participants = participants;
    }

    public Object getProjectName() {
        return projectName;
    }

    public void setProjectName(Object projectName) {
        this.projectName = projectName;
    }

    public Object getManagerMobile() {
        return managerMobile;
    }

    public void setManagerMobile(Object managerMobile) {
        this.managerMobile = managerMobile;
    }

    public String getOpBy() {
        return opBy;
    }

    public void setOpBy(String opBy) {
        this.opBy = opBy;
    }

    public int getOpAt() {
        return opAt;
    }

    public void setOpAt(int opAt) {
        this.opAt = opAt;
    }

    public boolean isDelFlag() {
        return delFlag;
    }

    public void setDelFlag(boolean delFlag) {
        this.delFlag = delFlag;
    }

    public String getResultId() {
        return resultId;
    }

    public void setResultId(String resultId) {
        this.resultId = resultId;
    }

    public int getResultStatus() {
        return resultStatus;
    }

    public void setResultStatus(int resultStatus) {
        this.resultStatus = resultStatus;
    }

    public boolean isGrouped() {
        return grouped;
    }

    public void setGrouped(boolean grouped) {
        this.grouped = grouped;
    }

    public static ProVoteDetail parse(JsonObject obj) {
        ProVoteDetail bean = new Gson().fromJson(obj, ProVoteDetail.class);
        return bean;
    }

}
